﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Zhaoxi.GameManagement.Entites;
using Zhaoxi.GameManagement.Entites.RequestFeatures;
using Zhaoxi.GameManagement.Entites.ResponseType.Paging;

namespace Sample.GameManagement.Contracts
{
    public interface IPlayerRepository : IRepositoryBase<Player>
    {
        // Task<List<Player>> GetAllPlayers();
        Task<PagedList<Player>> GetPlayers(PlayerParameter parameter);

        ValueTask<Player?> GetPlayerById(Guid playerId);
        Task<Player?> GetPlayerWithCharacters(Guid playerId);
        void CreatePlayer(Player player);
        void UpdatePlayer(Player player);
    }
}
